package parser;

import parser.nodes.Node;
import scanner.Token;

/** Diese Klasse enthält entweder ein Token, oder einen Node
 */

public class TokenOr<NodeType extends Node> {
    Token t;
    NodeType n;

    public TokenOr(Token t) {
        this.t = t;
    }

    public TokenOr(NodeType n) {
        this.n = n;
    }

    public NodeType Node() {
        return n;
    }

    public Token Token() {
        return t;
    }
    
    public void print() {
        if (t != null) 
            Node.p(t);
        else
            n.print();
    }
    
    public void abstractPrint() {
        if (t != null) 
            Node.p(t);
        else
            n.abstractPrint();
    }
            
}
